
%module OptimModule

SWIG_JAVABODY_PROXY(public, public, SWIGTYPE)
SWIG_JAVABODY_TYPEWRAPPER(public, public, public, SWIGTYPE)

%import "LibDL/global_typemaps.i"
%import "./LibDL/Tensor/Tensor.i"

%typemap(javaimports) SWIGTYPE
%{
import LibDL.core.*;
%}

%{
#include "./LibDL/optim/optimizer.h"
#include "./LibDL/optim/optimizers.h"
%}

%nspace optim::Optimizer;
%nspace optim::SGD;
%nspace optim::Adagrad;
%nspace optim::Adam;
//%nspace optim::LBFGS;
%nspace optim::RMSprop;

%include "./LibDL/optim/optimizer.h"
%include "./LibDL/optim/optimizers.h"
